package com.bumptech.glide.samples.flickr.api; import java.util.ArrayList; import java.util.List; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; /** * Parses a list of {@link Photo} objects from a Flickr API response string containing JSON data. */ final class PhotoJsonStringParser { private static final int FLICKR_API_PREFIX_LENGTH = 14; List<Photo> parse(String response) throws JSONException { JSONObject searchResults = new JSONObject(response.substring(FLICKR_API_PREFIX_LENGTH, response.length() - 1)); JSONArray photos = searchResults.getJSONObject("photos").getJSONArray("photo"); List<Photo> results = new ArrayList<>(photos.length()); for (int i = 0, size = photos.length(); i < size; i++) { results.add(new Photo(photos.getJSONObject(i))); } return results; } }